package com.xs.aifitnessagent.entities;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 消息存储表
 *
 * @author lambor
 */
@TableName(value = "t_message")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Message implements Serializable {

    @TableId(type = IdType.AUTO)
    private Long id;

    /** 聊天ID，关联t_history表 **/
    private String chatId;

    /** 用户ID **/
    private String userId;

    /** 消息类型：USER用户消息，ASSISTANT助手消息 **/
    private String messageType;

    /** 消息内容 **/
    private String content;

    /** Token数量统计 **/
    private Integer tokenCount;

    /** 使用的模型名称（AI消息） **/
    private String modelName;

    /** 是否被编辑过，0-未编辑，1-已编辑 **/
    private Integer isEdited;

    /** 原始内容（编辑前的内容） **/
    private String originalContent;

    /** 创建时间 **/
    private Date createTime;

    /** 更新时间 **/
    private Date updateTime;

    @Serial
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
} 